package com.spgf.controller.fragments;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

import com.archtecture.model.exceptions.NegocioException;
import com.spgf.controller.R;
import com.spgf.controller.utils.PadraoFragmentAb;
import com.spgf.model.entities.Categoria;
import com.spgf.model.enums.TipoCategoria;
import com.spgf.model.rn.CategoriaRN;
import com.spgf.model.utils.AndroidUtil;

public class CategoriaCad extends PadraoFragmentAb {

	private EditText	edtName;
	private RadioGroup	rdgGrupoTipoLanc;

	private TextView	txNome;
	private TextView	txTipoLancamento;

	private Button		btnSalvar;

	@Override
	protected ViewGroup configurarViewRoot(LayoutInflater inflater) {
		return (ViewGroup) inflater.inflate(R.layout.fragment_categoria_cadastro, null);
	}

	@Override
	public void configurarTela(ViewGroup root) {

		edtName = (EditText) root.findViewById(R.id.categ_cad_edtNome);

		btnSalvar = (Button) root.findViewById(R.id.categ_cad_btnSalvar);
		btnSalvar.setOnClickListener(acaoExecutar);

		rdgGrupoTipoLanc = (RadioGroup) root.findViewById(R.id.categ_cad_rdgGrupoTipoLanc);

		txNome = (TextView) root.findViewById(R.id.categ_cad_txtNome);
		txTipoLancamento = (TextView) root.findViewById(R.id.categ_cad_txtTipo);
	}

	@Override
	protected void executarClick(final View pView) throws NegocioException {

		if (pView.getId() == R.id.categ_cad_btnSalvar) {

			final TipoCategoria tipo = R.id.categ_cad_radioCredito == rdgGrupoTipoLanc.getCheckedRadioButtonId() ? TipoCategoria.CREDITO
					: TipoCategoria.DEBITO;

			final Categoria categoria = new Categoria();
			categoria.setNome(edtName.getText().toString());
			categoria.setTipo(tipo);

			AndroidUtil.validarObjetosNulos(categoria.getNome(), txNome.getText().toString());
			AndroidUtil.validarObjetosNulos(categoria.getTipo(), txTipoLancamento.getText().toString());

			new CategoriaRN(pView.getContext()).insert(categoria);
			Toast.makeText(pView.getContext(), "Categoria salva com sucesso!", Toast.LENGTH_SHORT).show();
		}
	}

}
